def get(s):
f = [-1] * 26
for i, v in enumerate(s):
f[ord(v) - ord('A')] = i
for i, v in enumerate(s):
for j in range(ord(v) - ord('A')):
if f[j] > i:
arr = list(s)
arr[i], arr[f[j]] = arr[f[j]], arr[i]
return "".join(arr)
return s
t = int(input())
for _ in range(t):
ss, c = input().split()
s1 = get(ss)
print(s1 if s1 < c else "---")
#include <bits/stdc++.h>
using namespace std;
string s,x;
int q,i,j,vt;
int main()
{
//freopen("ntu.inp","r",stdin);
//freopen("ntu.out","w",stdout);
cin>>q;
while(q--)
{
cin>>s>>x;
for(i=0;i<s.length();i++)
{
vt=i;
for(j=i+1;j<s.length();j++)
if(s[vt]>=s[j]) vt=j;
if(s[vt]<s[i]) { swap(s[vt],s[i]); break; }
}
if(s<x) cout<<s<<'\n'; else cout<<"---"<<'\n';
}
}
1480. Running Sum of 1d Array | 682. Baseball Game |
496. Next Greater Element I | 232. Implement Queue using Stacks |
844. Backspace String Compare | 20. Valid Parentheses |
746. Min Cost Climbing Stairs | 392. Is Subsequence |
70. Climbing Stairs | 53. Maximum Subarray |
1527A. And Then There Were K | 1689. Partitioning Into Minimum Number Of Deci-Binary Numbers |
318. Maximum Product of Word Lengths | 448. Find All Numbers Disappeared in an Array |
1155. Number of Dice Rolls With Target Sum | 415. Add Strings |
22. Generate Parentheses | 13. Roman to Integer |
2. Add Two Numbers | 515. Find Largest Value in Each Tree Row |
345. Reverse Vowels of a String | 628. Maximum Product of Three Numbers |
1526A - Mean Inequality | 1526B - I Hate 1111 |
1881. Maximum Value after Insertion | 237. Delete Node in a Linked List |
27. Remove Element | 39. Combination Sum |
378. Kth Smallest Element in a Sorted Matrix | 162. Find Peak Element |